home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr05
/
xnot12a.zip
/
CHRDEF.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-05-20
|
4KB
|
173 lines
/*
* sys/msdos/chardef.h: character set specific #defines for mg 2a
*/
#ifndef CHARMASK
/*
* casting should be at least as efficent as anding with 0xff,
* and won't have the size problems. Override in sysdef.h if no
* unsigned char type.
*/
# define CHARMASK(c) ((unsigned char) (c))
#endif
#ifdef SOL_0
# include <ctype.h>
# define ISWORD(c) (isalpha(c) || isdigit(c) || ispunct(c))
# define ISCTRL(c) iscntrl(c)
# define ISUPPER(c) isupper(c)
# define ISLOWER(c) islower(c)
# define ISEOSP(c) ispunct(c)
# define ISDIGIT(c) isdigit(c)
# define TOUPPER(c) toupper(c)
# define TOLOWER(c) tolower(c)
#else
/*
* These flags, and the macros below them,
* make up a do-it-yourself set of "ctype" macros that
* understand the DEC multinational set, and let me ask
* a slightly different set of questions.
*/
# define _W 0x01 /* Word. */
# define _U 0x02 /* Upper case letter. */
# define _L 0x04 /* Lower case letter. */
# define _C 0x08 /* Control. */
# define _P 0x10 /* end of sentence punctuation */
# define _D 0x20 /* is decimal digit */
# define ISWORD(c) ((getcinfo(CHARMASK(c))&_W)!=0)
# define ISCTRL(c) ((getcinfo(CHARMASK(c))&_C)!=0)
# define ISUPPER(c) ((getcinfo(CHARMASK(c))&_U)!=0)
# define ISLOWER(c) ((getcinfo(CHARMASK(c))&_L)!=0)
# define ISEOSP(c) ((getcinfo(CHARMASK(c))&_P)!=0)
# define ISDIGIT(c) ((getcinfo(CHARMASK(c))&_D)!=0)
# define TOUPPER(c) ((c)-0x20)
# define TOLOWER(c) ((c)+0x20)
#endif
#define ISWHITE(c) (((c) == ' ') || ((c) == '\t'))
/*
* generally useful thing for chars
*/
#define CCHR(x) ((x) ^ 0x40) /* CCHR('?') == DEL */
#ifndef METACH
# define METACH CCHR('[')
#endif
#ifdef XKEYS
# define K00 256
# define K01 257
# define K02 258
# define K03 259
# define K04 260
# define K05 261
# define K06 262
# define K07 263
# define K08 264
# define K09 265
# define K0A 266
# define K0B 267
# define K0C 268
# define K0D 269
# define K0E 270
# define K0F 271
# define K10 272
# define K11 273
# define K12 274
# define K13 275
# define K14 276
# define K15 277
# define K16 278
# define K17 279
# define K18 280
# define K19 281
# define K1A 282
# define K1B 283
# define K1C 284
# define K1D 285
# define K1E 286
# define K1F 287
# define K20 288
# define K21 289
# define K22 290
# define K23 291
# define K24 292
# define K25 293
# define K26 294
# define K27 295
# define K28 296
# define K29 297
# define K2A 298
# define K2B 299
# define K2C 300
# define K2D 301
# define K2E 302
# define K2F 303
/* I needed to complete the job of defining F keys and Keypad keys (JAM)
*/
# define K30 304
# define K31 305
# define K32 306
# define K33 307
# define K34 308
# define K35 309
# define K36 310
# define K37 311
# define K38 312
# define K39 313
# define K40 314
# define K41 315
# define K42 316
# define K43 317
# define K44 318
# define K45 319
# define K46 320
# define K47 321
# define K48 322
# define K49 323
# define K50 324
# define K51 325
# define K52 326
# define K53 327
# define K54 328
# define K55 329
# define K56 330
# define K57 331
# define K58 332
# define K59 333
# define K60 334
# define K61 335
# define K62 336
# define K63 337
# define K64 338
# define K65 339
# define K66 340
# define K67 341
# define K68 342
# define K69 343
# define K70 344
# define K71 345
# define K72 346
# define K73 347
# define K74 348
# define K75 349
# define K76 350
# define K77 351
# define K78 352
# define K79 353
# define K80 354
# define K81 355
# define K82 356
# define K83 357
# define K84 358
# define K85 359
# define K86 360
# define K87 361
# define K88 362
# define K89 363
# define K90 364
#endif